// ÀÌ ÇÁ·Î±×·¥Àº ¿ø·¡´Â ¿¡·¯¸¦ °¡Áö°í ÀÖ´Ù. -> Borland C++ 5.5 ÄÄÆÄÀÏ·¯·Î ÄÄÆÄÀÏÇßÀ½ #include #include #include #include class strtype { char * p; int len; public: strtype(char * ptr); ~strtype(); void show(); }; strtype::strtype(char * ptr) { len = strlen(ptr); p = (char *) malloc(len + 1); // pÀÇ ¸Þ¸ð¸®¸¦ µ¿ÀûÀ¸·Î ÇÒ´çÇÑ´Ù. if (!p) { cout << "Allocation error\n"; exit(1); } strcpy(p, ptr); } strtype::~strtype() { cout << "Freeing p\n"; free(p); } void strtype::show() { cout << p << " - length: " << len; cout << '\n'; } int main(void) { strtype s1("This is a test"), s2("I like C++"); s1.show(); s2.show(); // s1À» 2¿¡ ġȯÇÏ¸é ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. - ÀÚ¼¼ÇÑ »çÇ×Àº 95p ÂüÁ¶ s2 = s1; s1.show(); s2.show(); return 0; } /* s1ÀÌ s2·Î ġȯµÉ ¶§ s2ÀÇ p Æ÷ÀÎÅÍ´Â s1ÀÇ p¿Í °°Àº ¸Þ¸ð¸®¸¦ °¡¸®Å²´Ù. ±×·¡¼­ ÀÌ °´Ã¼µéÀÌ ¼Ò¸êµÉ ¶§ s1ÀÇ p°¡ °¡¸®Å°´Â ¸Þ¸ð¸®¸¸ µÎ ¹ø ÇØÁ¦µÇ°í ¿ø·¡ s2ÀÇ p°¡ °¡¸®Å°°í ÀÖ´Â ¸Þ¸ð¸®´Â °áÄÚ ÇØÁ¦µÇÁö ¾Ê´Â´Ù. ½ÇÁ¦ ÇÁ·Î±×·¥¿¡¼­ ÀÌ·± ½ÄÀÇ ¹®Á¦°¡ ¹ß»ýµÇ¸é µ¿Àû ÇÒ´ç ½Ã½ºÅÛÀÌ ÀÛµ¿ ºÒ°¡´ÉÇÏ°Ô µÉ ¼öµµ ÀÖ°í ½ÉÁö¾î´Â ÇÁ·Î±×·¥ÀÌ ¸ØÃç ¹ö¸± ¼öµµ ÀÖ´Ù. °´Ã¼¸¦ ´Ù¸¥ °´Ã¼·Î ġȯÇÒ ¶§ ³ªÁß¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ Æı«ÇÏ´Â ÀÏÀÌ ¾øµµ·Ï Á¶½ÉÇØ¾ß ÇÑ´Ù. */